#include <stdio.h>
#include <unistd.h> // fork()

int g_val = 100;

int main()
{
    pid_t id = fork();
    if (id == 0)
    {
        // 子进程
        int cut = 3;
        while (1)
        {
            printf("child, pid: %d, ppid: %d, g_val: %d, &g_val: %p\n", getpid(), getppid(), g_val, &g_val);
            sleep(1);
            cut--;
            if (cut == 0)
            {
                g_val = 200;
                printf("子进程change g_val: 100->200\n");
            }
        }
    }
    else
    {
        // 父进程
        while(1)
        {
            printf("parent, pid: %d, ppid: %d, g_val: %d, &g_val: %p\n", getpid(), getppid(), g_val, &g_val);
            sleep(1);
        }
    }
}


